.NET World - [VB.NET]Problemino con le RegEx
Cerca
 











Forum - .NET World - [VB.NET]Problemino con le RegEx

Avatar
GN (Member)
Guru


Messaggi: 294
Iscritto: 30/04/2011

Pollice su 63 Pollice su 12 (84%)
Segnala al moderatore
Postato alle 22:22
Venerdì, 27/01/2012
Ciao a tutti e grazie in anticipo a chi mi aiuterà :).
Dovrei leggere dei files di testo formattati in un modo simile a questo
Codice sorgente - presumibilmente Plain Text

  1. -MioProg 0.1.0.0-
  2. Titolo
  3.  
  4. Dato1
  5. Dato2
  6. Dato3
  7. ...


e vorrei ottenere la versione (nell'esempio 0.1.0.0), il titolo e i dati.
Ho letto i capitoli della guida di Totem sulle espressioni regolari http://totemslair.org/guide/viewchapter.php?guida=vb&id=93 e http://totemslair.org/guide/viewchapter.php?guida=vb&id=94; sono riuscito a scrivere questa RegEx
Codice sorgente - presumibilmente VB.NET

  1. Dim r As New RegEx("-MioProg (\d\.\d\.\d\.\d)-\n*")
  2. Dim g As GroupCollection = .Match("Contenuto del file").Groups
  3. Dim v() As String = g(1).Value.Split(".") 'array con le verie parti della versione


e da cui riesco a ricavare bene la versione, ma non so come fare per il titolo e i dati. Ho provato in vari modi ma in tutti i casi se non metto l'asterisco finale il file non "Matcha" (voce del verbo Matchare lol) più con la RegEx oppure ottengo delle eccezioni di vario tipo. Sapreste aiutarmi? E' la prima volta che uso le espressioni regolari e non capisco proprio come fare... grazie in anticipo.

Ultima modifica effettuata da GN il 28/01/2012 alle 12:28


Per favore se potete scaricate, votate e\o commentate il mio programma GN DrawCenter!
PM
Avatar
Il Totem (Admin)
Guru


Messaggi: 3569
Iscritto: 24/01/2006

Pollice su 453 Pollice su 59 (88%)
Up
1
Down
V
Segnala al moderatore
Postato alle 12:15
Sabato, 28/01/2012
Non vale la pena di usare le espressioni regolare per ottenere dati che sai essere su più righe. Semplicemente leggi una linea alla volta.

Ok, ma usare le regex mi sembra il modo più adatto per controllare che il file sia formattato nel modo giusto e per controllare la versione; inoltre penso di complicare un po' la struttura del file successivamente, quindi vorrei costruire una base solida da poter modificare in futuro. - GN - 28/01/12 12:28
Ok per la versione, però non complicarti la vita se non serve... - Il Totem - 31/01/12 10:57
Va bene, leggerò una riga alla volta parsando quella della versione e i singoli dati con le RegEx. Grazie :) - GN - 31/01/12 20:25


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
 

Creative Commons License
Il layout di questo sito è concesso sotto licenza Creative Commons.
Per maggiori informazioni sulle licenze dei contenuti del sito, clicca.